diff --git a/include/configs/a4m072.h b/include/configs/a4m072.h
index 20c119a..b5d20bd 100644
--- a/include/configs/a4m072.h
+++ b/include/configs/a4m072.h
@@ -79,7 +79,7 @@
 #define CONFIG_SYS_XLB_PIPELINING	1
 
 #undef CONFIG_NET_MULTI
-#undef CONFIG_EEPRO100 
+#undef CONFIG_EEPRO100
 
 /* Partitions */
 #define CONFIG_MAC_PARTITION
diff --git a/include/configs/bct-brettl2.h b/include/configs/bct-brettl2.h
index 09691d3..608ab9f 100644
--- a/include/configs/bct-brettl2.h
+++ b/include/configs/bct-brettl2.h
@@ -11,7 +11,7 @@
 /*
  * Processor Settings
  */
-#define CONFIG_BFIN_BOOT_MODE       BFIN_BOOT_BYPASS
+#define CONFIG_BFIN_BOOT_MODE	    BFIN_BOOT_BYPASS
 
 
 /*
@@ -21,11 +21,11 @@
  */
 /* CONFIG_CLKIN_HZ is any value in Hz					*/
 #define CONFIG_CLKIN_HZ			16384000
-/* CLKIN_HALF controls the DF bit in PLL_CTL      0 = CLKIN		*/
-/*                                                1 = CLKIN / 2		*/
+/* CLKIN_HALF controls the DF bit in PLL_CTL	  0 = CLKIN		*/
+/*						  1 = CLKIN / 2		*/
 #define CONFIG_CLKIN_HALF		0
 /* PLL_BYPASS controls the BYPASS bit in PLL_CTL  0 = do not bypass	*/
-/*                                                1 = bypass PLL	*/
+/*						  1 = bypass PLL	*/
 #define CONFIG_PLL_BYPASS		0
 /* VCO_MULT controls the MSEL (multiplier) bits in PLL_CTL		*/
 /* Values can range from 0-63 (where 0 means 64)			*/
@@ -36,7 +36,7 @@
 /* SCLK_DIV controls the system clock divider				*/
 /* Values can range from 1-15						*/
 #define CONFIG_SCLK_DIV			3
-#define CONFIG_VR_CTL_VAL       (VLEV_110 | GAIN_20 | FREQ_1000)
+#define CONFIG_VR_CTL_VAL	(VLEV_110 | GAIN_20 | FREQ_1000)
 
 
 /*
@@ -111,13 +111,13 @@
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-        arch/blackfin/cpu/traps.o            (.text .text.*); \
-        arch/blackfin/cpu/interrupt.o        (.text .text.*); \
-        arch/blackfin/cpu/serial.o           (.text .text.*); \
-        common/dlmalloc.o               (.text .text.*); \
-        lib/crc32.o             (.text .text.*); \
-        . = DEFINED(env_offset) ? env_offset : .; \
-        common/env_embedded.o           (.text .text.*);
+	arch/blackfin/cpu/traps.o	     (.text .text.*); \
+	arch/blackfin/cpu/interrupt.o	     (.text .text.*); \
+	arch/blackfin/cpu/serial.o	     (.text .text.*); \
+	common/dlmalloc.o		(.text .text.*); \
+	lib/crc32.o		(.text .text.*); \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o		(.text .text.*);
 #endif
 
 
diff --git a/include/configs/blackvme.h b/include/configs/blackvme.h
index 8b2bdc7..e4688a2 100644
--- a/include/configs/blackvme.h
+++ b/include/configs/blackvme.h
@@ -126,9 +126,9 @@
  * AX88180  WEN = 5 clocks  REN 6 clocks @ SCLK = 100 MHz
  * One extra clock needed because AX88180 is asynchronous to CPU.
  */
-                           /* bank 1   0 */
+			   /* bank 1   0 */
 #define CONFIG_EBIU_AMBCTL0_VAL 0xFFC2FFC2
-                           /* bank 3   2 */
+			   /* bank 3   2 */
 #define CONFIG_EBIU_AMBCTL1_VAL 0xFFC2FFC2
 
 /* memory layout */
diff --git a/include/configs/mx1ads.h b/include/configs/mx1ads.h
index 21b7ec7..166da6c 100644
--- a/include/configs/mx1ads.h
+++ b/include/configs/mx1ads.h
@@ -60,8 +60,6 @@
 
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128*1024)
 
-
-
 /*
  *  CS8900 Ethernet drivers
  */
@@ -79,7 +77,6 @@
 
 #define CONFIG_BAUDRATE		115200
 
-
 /*
  * BOOTP options
  */
@@ -88,7 +85,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-
 /*
  * Command line configuration.
  */
@@ -98,7 +94,6 @@
 #define CONFIG_CMD_REGINFO
 #define CONFIG_CMD_ELF
 
-
 #define CONFIG_BOOTDELAY	3
 #define CONFIG_BOOTARGS		"root=/dev/msdk mem=48M"
 #define CONFIG_BOOTFILE		"mx1ads"
diff --git a/include/configs/mx1fs2.h b/include/configs/mx1fs2.h
index 0641bef..1632ce8 100644
--- a/include/configs/mx1fs2.h
+++ b/include/configs/mx1fs2.h
@@ -34,7 +34,6 @@
 #undef	_CONFIG_UART4 /* internal uart 4 */
 #undef	CONFIG_SILENT_CONSOLE  /* use this to disable output */
 
-
 /*
  * BOOTP options
  */
@@ -43,7 +42,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-
 /*
  * Command line configuration.
  */
@@ -58,7 +56,6 @@
 #undef CONFIG_CMD_PING
 #undef CONFIG_CMD_SOURCE
 
-
 /*
  * Boot options. Setting delay to -1 stops autostart count down.
  */
@@ -98,8 +95,6 @@
  */
 #define CONFIG_SYS_MALLOC_LEN	  (CONFIG_ENV_SIZE + (128<<10) )
 
-
-
 #define CONFIG_STACKSIZE	(120<<10)      /* stack size */
 
 #ifdef CONFIG_USE_IRQ
diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h
index c0ae2d9..3da214e 100644
--- a/include/configs/scb9328.h
+++ b/include/configs/scb9328.h
@@ -35,7 +35,6 @@
  * Select serial console configuration
  */
 
-
 /*
  * BOOTP options
  */
@@ -44,7 +43,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-
 /*
  * Command line configuration.
  */
@@ -58,7 +56,6 @@
 #undef CONFIG_CMD_LOADS
 #undef CONFIG_CMD_SOURCE
 
-
 /*
  * Boot options. Setting delay to -1 stops autostart count down.
  * NOTE: Sending parameters to kernel depends on kernel version and
@@ -100,14 +97,11 @@
 #define CONFIG_INITRD_TAG	     1	 /* send initrd params		     */
 #undef	CONFIG_VFD			 /* do not send framebuffer setup    */
 
-
 /*
  * Malloc pool need to host env + 128 Kb reserve for other allocations.
  */
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (128<<10) )
 
-
-
 #define CONFIG_STACKSIZE	(120<<10)      /* stack size		     */
 
 #ifdef CONFIG_USE_IRQ
@@ -134,15 +128,6 @@
 #define SCB9328_SDRAM_1_SIZE	0x01000000	/* 16 MB		   */
 
 /*
- * Flash Controller settings
- */
-
-/*
- * Hardware drivers
- */
-
-
-/*
  * Configuration for FLASH memory for the Synertronixx board
  */
 
diff --git a/include/lattice.h b/include/lattice.h
index 75729b6..e965663 100755
--- a/include/lattice.h
+++ b/include/lattice.h
@@ -317,4 +317,3 @@
 unsigned char readPort(void);
 void sclock(void);
 #endif
-
diff --git a/include/linux/fb.h b/include/linux/fb.h
index f4ac4bf..3858f8f 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -26,13 +26,13 @@
 	__u32 type;			/* see FB_TYPE_*		*/
 	__u32 type_aux;			/* Interleave for interleaved Planes */
 	__u32 visual;			/* see FB_VISUAL_*		*/
-	__u16 xpanstep;			/* zero if no hardware panning  */
-	__u16 ypanstep;			/* zero if no hardware panning  */
-	__u16 ywrapstep;		/* zero if no hardware ywrap    */
-	__u32 line_length;		/* length of a line in bytes    */
-	unsigned long mmio_start;	/* Start of Memory Mapped I/O   */
+	__u16 xpanstep;			/* zero if no hardware panning	*/
+	__u16 ypanstep;			/* zero if no hardware panning	*/
+	__u16 ywrapstep;		/* zero if no hardware ywrap	*/
+	__u32 line_length;		/* length of a line in bytes	*/
+	unsigned long mmio_start;	/* Start of Memory Mapped I/O	*/
 					/* (physical address) */
-	__u32 mmio_len;			/* Length of Memory Mapped I/O  */
+	__u32 mmio_len;			/* Length of Memory Mapped I/O	*/
 	__u32 accel;			/* Indicate to driver which	*/
 					/*  specific chip/card we have	*/
 	__u16 reserved[3];		/* Reserved for future compatibility */
@@ -56,7 +56,7 @@
 
 };
 
-#define FB_NONSTD_HAM		1	/* Hold-And-Modify (HAM)        */
+#define FB_NONSTD_HAM		1	/* Hold-And-Modify (HAM)	*/
 #define FB_NONSTD_REV_PIX_IN_B	2	/* order of pixels in each byte is reversed */
 
 #define FB_ACTIVATE_NOW		0	/* set values immediately (or vbl)*/
@@ -64,38 +64,38 @@
 #define FB_ACTIVATE_TEST	2	/* don't set, round up impossible */
 #define FB_ACTIVATE_MASK       15
 					/* values			*/
-#define FB_ACTIVATE_VBL	       16	/* activate values on next vbl  */
+#define FB_ACTIVATE_VBL	       16	/* activate values on next vbl	*/
 #define FB_CHANGE_CMAP_VBL     32	/* change colormap on vbl	*/
 #define FB_ACTIVATE_ALL	       64	/* change all VCs on this fb	*/
 #define FB_ACTIVATE_FORCE     128	/* force apply even when no change*/
-#define FB_ACTIVATE_INV_MODE  256       /* invalidate videomode */
+#define FB_ACTIVATE_INV_MODE  256	/* invalidate videomode */
 
 #define FB_SYNC_HOR_HIGH_ACT	1	/* horizontal sync high active	*/
 #define FB_SYNC_VERT_HIGH_ACT	2	/* vertical sync high active	*/
 #define FB_SYNC_EXT		4	/* external sync		*/
-#define FB_SYNC_COMP_HIGH_ACT	8	/* composite sync high active   */
-#define FB_SYNC_BROADCAST	16	/* broadcast video timings      */
+#define FB_SYNC_COMP_HIGH_ACT	8	/* composite sync high active	*/
+#define FB_SYNC_BROADCAST	16	/* broadcast video timings	*/
 					/* vtotal = 144d/288n/576i => PAL  */
 					/* vtotal = 121d/242n/484i => NTSC */
 #define FB_SYNC_ON_GREEN	32	/* sync on green */
 
-#define FB_VMODE_NONINTERLACED  0	/* non interlaced */
+#define FB_VMODE_NONINTERLACED	0	/* non interlaced */
 #define FB_VMODE_INTERLACED	1	/* interlaced	*/
 #define FB_VMODE_DOUBLE		2	/* double scan */
 #define FB_VMODE_ODD_FLD_FIRST	4	/* interlaced: top line first */
 #define FB_VMODE_MASK		255
 
-#define FB_VMODE_YWRAP		256	/* ywrap instead of panning     */
+#define FB_VMODE_YWRAP		256	/* ywrap instead of panning	*/
 #define FB_VMODE_SMOOTH_XPAN	512	/* smooth xpan possible (internally used) */
 #define FB_VMODE_CONUPDATE	512	/* don't update x/yoffset	*/
 
 /*
  * Display rotation support
  */
-#define FB_ROTATE_UR      0
-#define FB_ROTATE_CW      1
-#define FB_ROTATE_UD      2
-#define FB_ROTATE_CCW     3
+#define FB_ROTATE_UR	  0
+#define FB_ROTATE_CW	  1
+#define FB_ROTATE_UD	  2
+#define FB_ROTATE_CCW	  3
 
 #define PICOS2KHZ(a) (1000000000UL/(a))
 #define KHZ2PICOS(a) (1000000000UL/(a))
@@ -154,10 +154,10 @@
 };
 
 /* VESA Blanking Levels */
-#define VESA_NO_BLANKING        0
-#define VESA_VSYNC_SUSPEND      1
-#define VESA_HSYNC_SUSPEND      2
-#define VESA_POWERDOWN          3
+#define VESA_NO_BLANKING	0
+#define VESA_VSYNC_SUSPEND	1
+#define VESA_HSYNC_SUSPEND	2
+#define VESA_POWERDOWN		3
 
 
 enum {
@@ -234,12 +234,12 @@
  */
 
 #define FB_CUR_SETIMAGE 0x01
-#define FB_CUR_SETPOS   0x02
-#define FB_CUR_SETHOT   0x04
-#define FB_CUR_SETCMAP  0x08
+#define FB_CUR_SETPOS	0x02
+#define FB_CUR_SETHOT	0x04
+#define FB_CUR_SETCMAP	0x08
 #define FB_CUR_SETSHAPE 0x10
 #define FB_CUR_SETSIZE	0x20
-#define FB_CUR_SETALL   0xFF
+#define FB_CUR_SETALL	0xFF
 
 struct fbcurpos {
 	__u16 x, y;
@@ -377,29 +377,29 @@
  *	if you own it
  */
 #define FB_EVENT_RESUME			0x03
-/*      An entry from the modelist was removed */
-#define FB_EVENT_MODE_DELETE            0x04
-/*      A driver registered itself */
-#define FB_EVENT_FB_REGISTERED          0x05
-/*      A driver unregistered itself */
-#define FB_EVENT_FB_UNREGISTERED        0x06
-/*      CONSOLE-SPECIFIC: get console to framebuffer mapping */
-#define FB_EVENT_GET_CONSOLE_MAP        0x07
-/*      CONSOLE-SPECIFIC: set console to framebuffer mapping */
-#define FB_EVENT_SET_CONSOLE_MAP        0x08
-/*      A hardware display blank change occured */
-#define FB_EVENT_BLANK                  0x09
-/*      Private modelist is to be replaced */
-#define FB_EVENT_NEW_MODELIST           0x0A
+/*	An entry from the modelist was removed */
+#define FB_EVENT_MODE_DELETE		0x04
+/*	A driver registered itself */
+#define FB_EVENT_FB_REGISTERED		0x05
+/*	A driver unregistered itself */
+#define FB_EVENT_FB_UNREGISTERED	0x06
+/*	CONSOLE-SPECIFIC: get console to framebuffer mapping */
+#define FB_EVENT_GET_CONSOLE_MAP	0x07
+/*	CONSOLE-SPECIFIC: set console to framebuffer mapping */
+#define FB_EVENT_SET_CONSOLE_MAP	0x08
+/*	A hardware display blank change occured */
+#define FB_EVENT_BLANK			0x09
+/*	Private modelist is to be replaced */
+#define FB_EVENT_NEW_MODELIST		0x0A
 /*	The resolution of the passed in fb_info about to change and
-        all vc's should be changed         */
+	all vc's should be changed	   */
 #define FB_EVENT_MODE_CHANGE_ALL	0x0B
 /*	A software display blank change occured */
-#define FB_EVENT_CONBLANK               0x0C
-/*      Get drawing requirements        */
-#define FB_EVENT_GET_REQ                0x0D
-/*      Unbind from the console if possible */
-#define FB_EVENT_FB_UNBIND              0x0E
+#define FB_EVENT_CONBLANK		0x0C
+/*	Get drawing requirements	*/
+#define FB_EVENT_GET_REQ		0x0D
+/*	Unbind from the console if possible */
+#define FB_EVENT_FB_UNBIND		0x0E
 
 struct fb_event {
 	struct fb_info *info;
@@ -421,10 +421,10 @@
  * format the hardware needs.
  */
 
-#define FB_PIXMAP_DEFAULT 1     /* used internally by fbcon */
-#define FB_PIXMAP_SYSTEM  2     /* memory is in system RAM  */
-#define FB_PIXMAP_IO      4     /* memory is iomapped       */
-#define FB_PIXMAP_SYNC    256   /* set if GPU can DMA       */
+#define FB_PIXMAP_DEFAULT 1	/* used internally by fbcon */
+#define FB_PIXMAP_SYSTEM  2	/* memory is in system RAM  */
+#define FB_PIXMAP_IO	  4	/* memory is iomapped	    */
+#define FB_PIXMAP_SYNC	  256	/* set if GPU can DMA	    */
 
 struct fb_pixmap {
 	u8  *addr;		/* pointer to memory			*/
@@ -434,10 +434,10 @@
 	u32 scan_align;		/* alignment per scanline		*/
 	u32 access_align;	/* alignment per read/write (bits)	*/
 	u32 flags;		/* see FB_PIXMAP_*			*/
-	u32 blit_x;             /* supported bit block dimensions (1-32)*/
-	u32 blit_y;             /* Format: blit_x = 1 << (width - 1)    */
-	                        /*         blit_y = 1 << (height - 1)   */
-	                        /* if 0, will be set to 0xffffffff (all)*/
+	u32 blit_x;		/* supported bit block dimensions (1-32)*/
+	u32 blit_y;		/* Format: blit_x = 1 << (width - 1)	*/
+				/*	   blit_y = 1 << (height - 1)	*/
+				/* if 0, will be set to 0xffffffff (all)*/
 	/* access methods */
 	void (*writeio)(struct fb_info *info, void *dst, void *src, unsigned int size);
 	void (*readio) (struct fb_info *info, void *dst, void *src, unsigned int size);
@@ -488,7 +488,7 @@
  * meaning, it is set by the fb subsystem depending FOREIGN_ENDIAN flag
  * and host endianness. Drivers should not use this flag.
  */
-#define FBINFO_BE_MATH  0x100000
+#define FBINFO_BE_MATH	0x100000
 
 struct fb_info {
 	int node;
@@ -499,7 +499,7 @@
 	struct fb_pixmap pixmap;	/* Image hardware mapper */
 	struct fb_pixmap sprite;	/* Cursor hardware mapper */
 	struct fb_cmap cmap;		/* Current cmap */
-	struct list_head modelist;      /* mode list */
+	struct list_head modelist;	/* mode list */
 	struct fb_videomode *mode;	/* current mode */
 
 	char *screen_base;	/* Virtual address */
@@ -508,7 +508,7 @@
 #define FBINFO_STATE_RUNNING	0
 #define FBINFO_STATE_SUSPENDED	1
 	u32 state;			/* Hardware state i.e suspend */
-	void *fbcon_par;                /* fbcon use-only private area */
+	void *fbcon_par;		/* fbcon use-only private area */
 	/* From here on everything is device dependent */
 	void *par;
 };
@@ -518,14 +518,14 @@
 #define FBINFO_FLAG_MODULE	FBINFO_MODULE
 #define FBINFO_FLAG_DEFAULT	FBINFO_DEFAULT
 
-// This will go away
+/* This will go away */
 #if defined(__sparc__)
 
 /* We map all of our framebuffers such that big-endian accesses
  * are what we want, so the following is sufficient.
  */
 
-// This will go away
+/* This will go away */
 #define fb_readb sbus_readb
 #define fb_readw sbus_readw
 #define fb_readl sbus_readl
@@ -562,7 +562,7 @@
 
 #endif
 
-#define FB_LEFT_POS(p, bpp)          (fb_be_math(p) ? (32 - (bpp)) : 0)
+#define FB_LEFT_POS(p, bpp)	     (fb_be_math(p) ? (32 - (bpp)) : 0)
 #define FB_SHIFT_HIGH(p, val, bits)  (fb_be_math(p) ? (val) >> (bits) : \
 						      (val) << (bits))
 #define FB_SHIFT_LOW(p, val, bits)   (fb_be_math(p) ? (val) << (bits) : \
@@ -580,7 +580,7 @@
 #define FB_MODE_IS_VESA		4
 #define FB_MODE_IS_CALCULATED	8
 #define FB_MODE_IS_FIRST	16
-#define FB_MODE_IS_FROM_VAR     32
+#define FB_MODE_IS_FROM_VAR	32
 
 
 /* drivers/video/fbcmap.c */
diff --git a/include/linux/kbuild.h b/include/linux/kbuild.h
index be76384..ab7805a 100644
--- a/include/linux/kbuild.h
+++ b/include/linux/kbuild.h
@@ -7,7 +7,7 @@
 #define __LINUX_KBUILD_H
 
 #define DEFINE(sym, val) \
-        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
+	asm volatile("\n->" #sym " %0 " #val : : "i" (val))
 
 #define BLANK() asm volatile("\n->" : : )
 
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h
index 03541cb..2967284 100644
--- a/include/linux/usb/cdc.h
+++ b/include/linux/usb/cdc.h
@@ -9,8 +9,6 @@
  *                      Remy Bohmer <linux@bohmer.net>
  */
 
-
-
 #define USB_CDC_SUBCLASS_ACM			0x02
 #define USB_CDC_SUBCLASS_ETHERNET		0x06
 #define USB_CDC_SUBCLASS_WHCM			0x08
@@ -199,7 +197,6 @@
 #define	USB_CDC_PACKET_TYPE_BROADCAST		(1 << 3)
 #define	USB_CDC_PACKET_TYPE_MULTICAST		(1 << 4) /* filtered */
 
-
 /*-------------------------------------------------------------------------*/
 
 /*
@@ -221,4 +218,3 @@
 	__le16	wIndex;
 	__le16	wLength;
 } __attribute__ ((packed));
-
